lot of stuff modified