internal entity creation