Improve build system and project structure