THIS TOOK WAY TOO FUCKING LONG