NOT complete, it is the skeleton for the update task. Don't use this yet!