introduce classified abort reasons
change token to have positional information