abstract entity