update, add loop