This took awhile

Modified