continues refactoring and rearranging our package structure into a more coherent design #33