final project with changes