use rclock to ensure the sequence of red operations