I've run some purify tests, I think this is okay now.