making things pointers for circular refs