final-project definitive version