added more input tests and validations