Project structure refactored, finally basic functionality is working