Cleanup of drain code

rewrote pathfinder as well so not to need the second path finder to find
highest block. Instead it  works its way up first, then to everywhere
else.