code moved from Zoe project now all in place, and all tests passing