adds back Function.bind to retain this in callback