the three previous includes should go in the implementation file if they aren't required in the header (the classes found in those files aren't referenced here)