Final version with changes