fix software transactional memory