replace this.state to setState