begin refactor on demo task