adding final changes... many