change locking method for linked list
exclude linked list, create cleanup thread