importing right header files at the right places rather than having everything in model.h (not sure if it is a good idea, kinda seemed handy)