assume starty can be nil in update