now uses a draw buffer vs writing directly to the screen. a lot less jumpy!