fix callback scope