moved basic classes into one file