checkpoint, working callable by passing a method around - just the way we want it to work