updated candidates()