only allow codes to be used once