make rendering simpler and better
slightly re-arrange nodes