stop using pointers everywhere