Added interface, validations, need to be refactored to custom event