updating with final changes