introduced shared project to simplify project structure