finished locked candidates implementation