done most of changes.