Revert "Successors function"

This reverts commit 66af82d563bd1d227262ad652c95463b25f71e9b.
Revert "Revert "Successors function""

This reverts commit 555c2256a1718c28c2c3aba54ef3235c66c986f7.
Revert "Revert "Revert "Successors function"""

This reverts commit 835346744ea307ff9adf610ab6fc53fab75aed17.