system refactored, tests
todo
0.2.1