Working setup

This commit brings the project to a point where it compiles and runs
with no errors. All work can begin from here