Done many changes