tutorial update and X observer