`steps_from_hash` should be private