Draining attributes in structures

This is so that @cyli can work independently on implementing the algorithm while I work on filling these structures.
This may not be required since comparison should be on non-draining nodes which will all have 0.