no need of separate buildTuple function