lots of new changes
some changes