split project into multiple modules