use AutoBool rather than Bool