added built-in validation methods