so much stuff, all for threading and re-structure