Milestone Update

Revised to use ADT properly, may need further refinement for commented methods to not access internal data.