Added assignment 4. Twas quite long