adding candidates subsystem