finished the callback, now make it functional