Refactor : No longer expose internal structure. General clean up.