refactor validate method into checks