wow this turned out ugly