please explain what this is doing.  What happens if the prg match fails?  We need to handle this validation.