restructured library to remove unnecessary level of indirection, this should make creating the visualization that much easier, will need to update docs later