some necessary changes