adding callbacks and their info structs