added buffering and buffer render capabilities