late bind fn in callback