dereference  as few times as possible