holding state
some final changessome final changes