can only swap with opposite colour