lab 10 -- quite a bit done already