Entire re-work

Had to re-create all files to find an issue with file structure. Great
learning experience.