Whew... that was very long!!!