added more validation + showing error message
added null length validation
added user creation and custom message