fixed backpointer to actually use pointers, fixed unknown transition issue with a hack