lock conditions implemented in the client side