Project framework

@festen I assumed your branch was ready, so I created a pull request for you. If you're not done yet, don't worry, you can see work on this branch.