JDF-282 initial commit but still needs some work

A work-in-progress PR (not 100% complete yet)  for discussion on the issue.