added abstract viewable entity