added SubUpdate function and tests