add in return false if p == null