shank algo