finished. The part for bonus points is really hard to think through.