Miror, incorrect 3.5" tft lcd

I use lcd tft 3.5" ILI9486 and tried the program below, and there are some issues: the text is mirrored, colors are incorrect, and when the font size is larger than 2, the text overlaps. Are there any possible solutions I could try? (1st photo use size text 2 and second use size 3)

#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin

#include <SPI.h>          // f.k. for Arduino-1.5.2
#include <Adafruit_GFX.h>// Hardware-specific library
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
//#include <Adafruit_TFTLCD.h>
//Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

// Assign human-readable names to some common 16-bit color values:
#define  BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
    tft.reset();                 //hardware reset
//    ID = 0x9329;0x9486                             // force ID
    tft.begin(0x9329);
    tft.setRotation(0);
    tft.setTextSize(2);
    tft.setCursor(0, 72);
    tft.setTextColor(BLUE);
    tft.print("COLOR");
}

void loop() {
  // put your main code here, to run repeatedly:
}