framework for classes