removed outdated files, gave new source files better names
moved the implementation into detail/imp.hpp header
Merge branch 'feature/source-refactor' into develop