Added validation, error messages