Start of updates for Issue #693

I started adding the missing functionality, and will have more time later to continue getting the rest. Comments welcome.