implemented final changes