User pointers only when it is necessary