built framework for inheritance