only accept mode constants