separate out domain and iteration stuff
separate out domain partitioning stuff
separate boundary, rework other files