Code moved from callback.c