Reverted previous revert and put varlength back again.
WIP this needs to be squashed
DFS! Yay!
WIP