callback improvements