Restructuring

Added more documentation and moved stuff around a bit.
Moving stuff, restructuring