better internal data structures.  threadsafety