Renamed files and refactor
Added a bunch of new files.