All functions now object oriented