more validations and tests