some neccessary changes