Final with some changes