Initial work ot put the files under packages
More refactoring to remove protected where possible