fix bug, need to close connection
add queue
rename
add lock