update: swap book control