major improvements to flattener; almost finished now