add key and limit modes