component update added to the main loop, need to add timer too