Further work on implementation (and specs)