added framework for entity