redefine ==.Q4, make some primatives more efficient