refactoring project into multiple subprojects. packages are moving around too.