final changes throughout