initial changes for dual output types