switched to using bind on a callback