worker
handle null