tricky...

r+ on the changes...