Merge latest development into master

Finished most of milestone 0.3 (Everything except #20)