Cleaned up the code a bit by adding some more files. A long way to go in cleaning, though