refactor project for multi-language modularity