First commit in a long time. Added functionally for finding required edges and introduces some parallelism