added some validation methods