Implement most of the tasks.