if this and handle() can be references that's nicer, not sure if they can though