unless I'm wrong Shiffman needlessly duplicted code