many changes

many changes