moved all implementations from the header files to their source files (toString of structs)
merged