added validation and sounds