add dispose locking