Did a bunch to guard against steps not existing. This seems wrong.