replace self. remove a bunch of weird backstack management.