lock not always needed