added worker and task classes