a lot of smalll changes