moved extension method into base class.
supress undesirable exception.
error handling infrastructure.