tidy up a bit, OOP coming soon