implement chapter handler