more accurate pointer checks