validations and move persistence checks to lint test