Posting a second version of this later.