add test_and_set