Clean up
Use double buffering, sort of