added validation steps: error on invalid p/n or rev