Moved some files around and added documentation