Setup the basic project structure.
Merging with master