factored out CompareSeparateButton