refactoring Line away from dht, and moving most open logic out of Line