Separated update functions