added validation and names