add Task abstract class