tasks as objects