necessary changes