Add initial files
Begin refactor