Work in progress. Header mostly flushed out. Implementation needs to catch up.