basic implementation for entities