cleaner; tolerance in horizontals; horizontals don't wrap (fixme); same too-many-branches