added new update routine