fix callback construction