magic number -- mode enum?