this is analogous to the double buffer