delegate task handling to shell