a lot of changes

tried it