more extensions refactoring

* Validation code previously needed to check for nil since it was used
  in multiple places. Now that it is used only when creating an
  extension it does not need to do a nil check.