working on unit tests, reorging structure