done a lot of changes