add interface, write tests for list.task