final handin revised