use spin locks