validation steps