Finished renaming and updated files. Moved implementation into a single file.