validation methods written