done lot of changes