pointer type revised