better entity saving