a lot of sutff fixed and changed