abstract entity + interfacing
persist call updated with correct interface