This took SO FREAKING LONG