seperated ground into seperate classes and a manager