start of major refactor for classes