make worker interface clearer and reuse variable VRC