final reorg and beginning test suite
added TODO with final vision