there are quite a few other functions which also refer to `this`. I'm happy to clean that up now if you think its the best way forward.