better error handling through gotos
make sure we append to the list when we create the callback