some comments on the use of this
:lipstick: tidy up

set a default func so we don't need to check for null