parse nested pairs