added self-reference for substitute driver