node recycling in place, colors are a bit janky
de-jankification