Implement general task by sets