finalized module, changed most vectors to contain pointers