running render loop, doesn't handle context