more re-factoring for non-relational output