Added a couple hours of work. Almost there.