added special paths algorithms