add three kind of lock