Implement entities, some validation included