boundary splitting almost complete. lazy enumerators are awesome