re-arrange output binding functions