Organise files in sub-packages
Merge pull request #1 from eMxyzptlk/major_refactor

Major refactor