I worked on this one for quite a while today.