final commit (complete solution.)