filled in code, but still a bug in negative cycle checks. Seems to always return true