task - refractor