assignment 3 spec