lots of changes

changed so much i dont even know what >.> just look at the damn code