added a series of class for task processing