neccessary changes