used synthesize because we provided getter and setter