Initial commit of files, still in the middle of refactoring