Use pointers inernally instead of passing objects to save space.