add interface design
add LockManager