different hole-moving algorithm

should be a bit faster, lesser hops to do