I know this is a long one, but this is for OT. Enjoy!