initial fork from @webyrd's Running Backwards