Separated update from draw