changes constructor