create self struct [pair, pair, ...]