split into core, messaging and view subprojects