changed callback to be passed to play