Some further refactoring and bug-fixes to be included 0.1.5
Rearrange headers to have a cleaner outline of the project, merge back to 0.1.5 and update release tarball.