add more lock primitives