no need to recalculate candidate items every time