Quite a bit of work towards implementation :)
More work