data struct with lock free