This is looking really good - and it's certainly not an easy problem by any means. Well done.