provide worker and make error catching more restricted