add callback to data insertion recursive