change the order of things
record the stack