main header file

this is less messy I think, as I moved some classes to auxiliary header files.