maybe we should call this class `CustomXStreamBuilder` instead