added implementation of reaching definitions algorithm