works one way sort of - now to go the other way  - which will require fixing a whole slew of FIXMEs