wrote own algorithm similar to a* but not as perfect will polish