this call back should run: only once, and in the render queue