follows struct ptrs then doesn't