moving to a class based setup