Main Menu
Hockey Card Menu
Hockey Talk Menu
Other Items Menu

Matthew McCallum's Cardboard Ice
Matthew McCallum's Cardboard Ice
2011-12 Releases Trade List

Got any comments? Want to work up a trade? Please reach me via email.

2011-12 O-Pee-Chee (By Upper Deck)

2011-12 O-Pee-Chee Base Set 1-500 (Non-Short Print Singles):
2 Paul Mara [1 available]
8 Todd Bertuzzi [1 available]
11 Chris Phillips [1 available]
13 Jordan Staal [1 available]
16 Joe Thornton [2 available]
22 Dan Boyle [1 available]
24 Henrik Sedin [1 available]
27 Olli Jokinen [1 available]
29 Jonathan Toews [1 available]
30 Kris Versteeg [2 available]
33 Martin St. Louis [1 available]
35 Cam Ward [1 available]
44 Chris Drury [1 available]
49 Marc-Andre Fleury [2 available]
50 Sidney Crosby [2 available]
52 Adam McQuaid [2 available]
54 Andrei Loktionov [2 available]
60 Jay McClement [1 available]
61 Toni Lydman [1 available]
62 Brian Elliott [1 available]
63 Shawn Horcoff [1 available]
65 Nate Thompson [2 available]
67 Matt Hendricks [1 available]
69 Jamie McBain [1 available]
70 Jannik Hansen [1 available]
71 Matt Calvert [1 available]
78 Kevin Bieksa [1 available]
80 Jimmy Howard [1 available]
92 Jeff Halpern [1 available]
97 Mikkel Boedker [1 available]
101 Jordan Eberle [1 available]
105 Mathieu Garon [2 available]
110 B.J. Crombeen [2 available]
116 Niklas Kronwall [1 available]
122 Mike Weber [1 available]
123 Mikhail Grabovski [3 available]
124 Brett Lebda [1 available]
126 P.K. Subban [2 available]
127 Ryan Shannon [1 available]
128 Adam Burish [1 available]
129 Tuomo Ruutu [2 available]
131 Tom Poti [1 available]
133 Sean Bergenheim [4 available]
136 Vincent Lecavalier [1 available]
138 Ryan O'Reilly [1 available]
142 Devin Setoguchi [1 available]
148 Cody Franson [2 available]
150 Ian Cole [2 available]
152 Martin Brodeur [1 available]
153 Travis Hamonic [2 available]
156 Pavel Datsyuk [2 available]
157 Evgeni Malkin [1 available]
159 Derek Roy [1 available]
161 Branden Holtby [1 available]
162 Nazem Kadri [1 available]
163 Andrew Ladd [3 available]
168 Tyler Kennedy [2 available]
169 Kari Lehtonen [1 available]
172 Shane Doan [1 available]
173 Lubomir Visnovsky [1 available]
176 Cam Fowler [1 available]
179 Corey Perry [2 available]
189 R.J. Umberger [1 available]
195 Zach Parise [1 available]
196 Colin White [1 available]
200 Brian Rafalski [2 available]
203 Jiri Hudler [2 available]
204 Kimmo Timonen [1 available]
207 Zdeno Chara [1 available]
209 Jhonas Enroth [2 available]
212 Nik Antropov [2 available]
214 Jaroslav Spacek [2 available]
219 Martin Hanzal [2 available]
223 Andrew Cogliano [1 available]
224 Kyle Quincey [2 available]
226 Gilbert Brule [1 available]
228 Trevor Daley [2 available]
229 Jarret Stoll [1 available]
232 Kevin Porter [1 available]
233 Brandon Sutter [1 available]
238 Cory Stillman [4 available]
245 Kurtis Foster [1 available]
251 Luke Schenn [2 available]
263 Dave Bolland [2 available]
264 Jakub Voracek [1 available]
269 Mattias Tedenby [1 available]
274 Braydon Coburn [1 available]
275 Karl Alzner [2 available]
282 Evander Kane [2 available]
291 Dennis Seidenberg [1 available]
296 Blake Comeau [2 available]
297 Blake Wheeler [1 available]
298 Brad Boyes [4 available]
299 Brandon Dubinsky [2 available]
300 Miikka Kiprusoff [1 available]
302 Adrian Aucoin [1 available]
303 Alex Goligoski [1 available]
306 Mats Zuccarello [1 available]
315 Andrej Meszaros [2 available]
319 Brent Burns [1 available]
322 Brian Lee [1 available]
325 Stephane Robidas [1 available]
331 Logan Couture [1 available]
332 Mikael Backlund [1 available]
333 Chistian Ehrhoff [3 available]
335 Cal O'Reilly [2 available]
341 Matt Carle [1 available]
347 Jamie Langenbrunner [1 available]
356 Keith Ballard [1 available]
358 Ryan Suter [3 available]
360 Johan Hedberg [1 available]
367 Jason Spezza [2 available]
368 Josh Gorges [1 available]
375 Tuukka Rask [1 available]
376 Matt Moulson [2 available]
378 Tom Gilbert [1 available]
379 Tobias Enstrom [2 available]
384 Stephen Weiss [2 available]
387 Sergei Bobrovsky [1 available]
396 Brian Rolston [1 available]
400 Cody McCormick [1 available]
402 Colton Orr [2 available]
407 Ryan Miller [1 available]
408 Robin Lehner [1 available]
413 Mikael Samuelsson [3 available]
415 Justin Abdelkader [2 available]
417 Joel Ward [1 available]
418 Kevin Shattenkirk [4 available]
421 Andrew MacDonald [1 available]
422 Erik Christensen [1 available]
426 Jonas Gustavsson [1 available]
430 Andrew Raycroft [2 available]
432 Brad Richards [1 available]
434 Curtis Clencross [1 available]
435 Dany Heatley [2 available]
436 Steve Sullivan [1 available]
438 John Tavares [2 available]
439 Jonathan Ericsson [1 available]
441 Brian Boucher [2 available]
449 Ville Leino [2 available]
451 Mark Fistric [1 available]
456 Marc-Edouard Vlasic [1 available]
458 Samuel Pahlsson [3 available]
462 Patrik Elias [1 available]
477 Semyon Varlamov [1 available]
478 Alex Kovalev [1 available]
482 Anton Babchuk [1 available]
486 Nick Foligno [1 available]
487 Derek Morris [1 available]
488 Liam Reddox [1 available]
491 David Moss [1 available]
494 Sean Avery [1 available]
496 Checklist 1-100 [1 available]
499 Checklist 301-400 [1 available]

2011-12 O-Pee-Chee Base Set 501-600 (Short Print Singles):
Marquee Legend 539 Joe Sakic [1 available]
Marquee Legend 542 Doug Wilson [1 available]

Marquee Rookie 556 Matt Frattin [1 available]

2011-12 O-Pee-Chee Playoff Beard Parallel Set 1-50 (Insert Singles):
Playoff Beard 8 Todd Bertuzzi [1 available]
Playoff Beard 12 Dan Cleary [1 available]
Playoff Beard 38 Matt Cullen [1 available]
Playoff Beard 44 Chris Drury [1 available]
Playoff Beard 46 Ryan Smyth [1 available]

2011-12 O-Pee-Chee Retro Parallel Set 1-600 (Insert Singles):
Retro 28 G. Lantendresse [1 available]
Retro 50 S. Crosby [1 available]
Retro 136 V. Lecavalier [2 available]
Retro 153 T. Hamonic [1 available]
Retro 188 T. Brouwer [1 available]
Retro 197 J. Bailey [1 available]
Retro 236 S. Gagner [2 available]
Retro 256 B. Laich [1 available]
Retro 266 K. Russell [1 available]
Retro 276 J. Hecht [1 available]
Retro 396 B. Rolston [1 available]

Retro Marquee Rookie 562 Z. Rinaldo [1 available]
Retro Marquee Rookie 576 A. Henrique [1 available]

2011-12 O-Pee-Chee 2010-11 Marquee Rookie Update (Insert Singles):
Marquee Rookie 602 Eric Wellwood [1 available]
Marquee Rookie 604 Ian Cole [1 available]
Marquee Rookie 605 Jacob Markstrom [1 available]
Marquee Rookie 608 Kevin Shattenkirk [1 available]
Marquee Rookie 617 Stefan Della Rovere [1 available]
Marquee Rookie 620 Travis Hamonic [1 available]

2011-12 O-Pee-Chee Team Leaders (Insert Singles):
TL-4 Buffalo Sabres [1 available]
TL-7 Chicago Blackhawks [1 available]
TL-20 New York Rangers [1 available]

2011-12 Upper Deck Series 1

2011-12 UD Series 1 Base Set 1-200 (Non-Short Print Singles):
1 Dustin Byfuglien [9 available]
2 Patrice Cormier [9 available]
3 Tobias Enstrom [5 available]
4 Evander Kane [11 available]
5 Blake Wheeler [5 available]
6 Ondrej Pavelec [11 available]
7 Alexander Semin [7 available]
8 Alex Ovechkin [6 available]
9 Mike Knuble [9 available]
10 Mike Green [10 available]
11 Michal Neuvirth [10 available]
12 John Carlson [11 available]
13 Henrik Sedin [11 available]
14 Daniel Sedin [6 available]
15 Roberto Luongo [11 available]
16 Ryan Kesler [6 available]
17 Alexander Edler [9 available]
18 Cory Schneider [9 available]
19 Phil Kessel [6 available]
20 Dion Phaneuf [11 available]
21 James Reimer [5 available]
22 Nazem Kadri [7 available]
23 Clarke MacArthur [6 available]
24 Nikolai Kulemin [6 available]
25 Luke Schenn [11 available]
26 Steven Stamkos [9 available]
27 Ryan Malone [7 available]
28 Martin St. Louis [9 available]
29 Dwayne Roloson [11 available]
30 Victor Hedman [9 available]
31 Steve Downie [12 available]
32 Jaroslav Halak [8 available]
33 David Backes [5 available]
34 Patrik Berglund [4 available]
35 Kevin Shattenkirk [4 available]
36 Chris Stewart [8 available]
37 Alexander Steen [9 available]
38 David Perron [8 available]
39 Joe Thornton [4 available]
40 Patrick Marleau [9 available]
41 Joe Pavelski [11 available]
42 Antti Niemi [9 available]
43 Dan Boyle [6 available]
44 Logan Couture [8 available]
45 Ryane Clowe [5 available]
46 Pascal Dupuis [5 available]
47 Jordan Staal [10 available]
48 Kristopher Letang [8 available]
49 Chris Kunitz [8 available]
50 Marc-Andre Fleury [7 available]
51 Matt Cooke [12 available]
52 James Neal [8 available]
53 Shane Doan [11 available]
54 Keith Yandle [8 available]
55 Lauri Korpikoski [6 available]
56 Brett MacLean [5 available]
57 Oliver Ekman-Larsson [10 available]
58 Radim Vrbata [9 available]
59 Claude Giroux [11 available]
60 Kimmo Timonen [4 available]
61 Daniel Briere [5 available]
62 Chris Pronger [11 available]
63 James Van Reimsdyk [6 available]
64 Braydon Coburn [6 available]
65 Andreas Nodl [5 available]
66 Jason Spezza [8 available]
67 Daniel Alfredsson [10 available]
68 Erik Karlsson [9 available]
69 Nick Foligno [9 available]
70 Sergei Gonchar [8 available]
71 Bobby Butler [5 available]
72 Peter Regin [7 available]
73 Henrik Lundqvist [10 available]
74 Marc Staal [9 available]
75 Derek Stepan [8 available]
76 Ryan Callahan [8 available]
77 Brandon Dubinsky [11 available]
78 Mats Zuccarello [10 available]
79 Brian Boyle [5 available]
80 John Tavares [9 available]
81 Michael Grabner [8 available]
82 P.A. Parenteau [8 available]
83 Blake Comeau [7 available]
84 Kyle Okposo [9 available]
85 John Bailey [5 available]
86 Al Montaya [8 available]
87 Martin Brodeur [9 available]
88 Zach Parise [5 available]
89 Travis Zajac [12 available]
90 Mattias Tedenby [8 available]
91 Anton Volchenkov [8 available]
92 David Clarkson [7 available]
93 Patric Hornqvist [11 available]
94 Ryan Suter [7 available]
95 Sergei Kostitsyn [10 available]
96 Pekka Rinne [6 available]
97 Shea Weber [5 available]
98 Mike Fisher [6 available]
99 Carey Price [11 available]
100 Andrei Kostitsyn [7 available]
101 Scott Gomez [5 available]
102 P.K. Subban [9 available]
103 Brain Gionta [6 available]
104 Jaroslav Spacek [12 available]
105 Max Pacioretty [9 available]
106 Mikko Koivu [6 available]
107 Cal Clutterbuck [9 available]
108 Nick Schultz [6 available]
109 Pierre-Marc Bouchard [5 available]
110 Guillaume Latendresse [9 available]
111 Matt Cullen [10 available]
112 Marek Zidlicky [8 available]
113 Drew Doughty [5 available]
114 Dustin Penner [10 available]
115 Rob Scuderi [5 available]
116 Jarret Stoll [4 available]
117 Justin Williams [7 available]
118 Jonathan Quick [11 available]
119 Jack Johnson [9 available]
120 David Booth [12 available]
121 Stephen Weiss [6 available]
122 Jacob Markstrom [6 available]
123 Mike Santorelli [9 available]
124 Dmitry Kulikov [5 available]
125 Evgeny Dadonov [5 available]
126 Taylor Hall [8 available]
127 Devan Dubnyk [6 available]
128 Sam Gagner [8 available]
129 Magnus Paajarvi [11 available]
130 Linus Omark [6 available]
131 Ryan Whitney [7 available]
132 Theo Peckham [4 available]
133 Nicklas Lidstrom [7 available]
134 Johan Franzen [8 available]
135 Jimmy Howard [10 available]
136 Niklas Kronwall [8 available]
137 Justin Abdelkader [11 available]
138 Henrik Zetterberg [10 available]
139 Darren Helm [5 available]
140 Brenden Morrow [9 available]
141 Kari Lehtonen [12 available]
142 Alex Goligoski [9 available]
143 Mike Ribeiro [9 available]
144 Jamie Benn [5 available]
145 Steve Ott [5 available]
146 Rick Nash [6 available]
147 Kristian Huselius [5 available]
148 Derick Brassard [6 available]
149 Kris Russell [10 available]
150 Antoine Vermette [12 available]
151 R.J. Umberger [11 available]
152 Anton Stralman [11 available]
153 Erik Johnson [9 available]
154 Paul Stastny [12 available]
155 Jay McClement [8 available]
156 Ryan O'Byrne [9 available]
157 David Jones [9 available]
158 Ryan O'Reilly [10 available]
159 Kevin Porter [6 available]
160 Jonathan Toews [9 available]
161 Patrick Sharp [10 available]
162 Marian Hossa [7 available]
163 Brent Seabrook [5 available]
164 Dave Bolland [9 available]
165 Corey Crawford [10 available]
166 Duncan Keith [6 available]
167 Jeff Skinner [8 available]
168 Jamie McBain [9 available]
169 Eric Staal [8 available]
170 Cam Ward [8 available]
171 Tuomo Ruutu [9 available]
172 Joni Pitkanen [7 available]
173 Jarome Iginla [10 available]
174 Miikka Kiprusoff [9 available]
175 Rene Bourque [5 available]
176 Matt Stajan [6 available]
177 Anton Babchuk [12 available]
178 Mark Giordano [9 available]
179 Jay Bouwmeester [5 available]
180 Ryan Miller [9 available]
181 Drew Stafford [9 available]
182 Derek Roy [12 available]
183 Tyler Myers [9 available]
184 Tyler Ennis [7 available]
185 Nathan Gerbe [5 available]
186 Jason Pominville [8 available]
187 Tim Thomas [8 available]
188 Zedno Chara [8 available]
189 Brad Marchand [9 available]
190 Nathan Horton [7 available]
191 David Krejci [4 available]
192 Dennis Seidenberg [8 available]
193 Milan Lucic [7 available]
194 Corey Perry [6 available]
195 Lubomir Visnovsky [5 available]
196 Jonas Hiller [10 available]
197 Ryan Getzlaf [10 available]
198 Cam Folwer [6 available]
199 Checklist 1-100 - Daniel Sedin, Roberto Luongo and Ryan Kesler [11 available]
200 Checklist 101-200 - Milan Lucic, Tim Thomas and Zdeno Chara [9 available]

For short-print Young Guns Rookie Cards 201-250, click here!

2011-12 UD Series 1 Base Set 201-250 (Short Print Singles):
Young Guns 202 Maxime Macenauer [1 available]
Young Guns 203 Greg Nemisz [2 available]
Young Guns 204 Roman Horak [1 available]
Young Guns 213 Tomas Vincour [1 available]
Young Guns 214 Ryan Nugent-Hopkins [2 available]
Young Guns 216 Teemu Hartikainen [2 available]
Young Guns 217 Erik Gudbranson [2 available]
Young Guns 223 Jonathon Blum [1 available]
Young Guns 226 Adam Henrique [0 available - OUT OF STOCK]
Young Guns 227 Adam Larsson [3 available]
Young Guns 230 Colin Greening [4 available]
Young Guns 231 Patrick Weicioch [1 available]
Young Guns 232 Erik Condra [1 available]
Young Guns 233 Stephane Da Costa [1 available]
Young Guns 234 Sean Couturier [1 available]
Young Guns 235 Matt Read [0 available - OUT OF STOCK]
Young Guns 236 Erik Gustafsson [2 available]
Young Guns 238 Harri Sateri [1 available]
Young Guns 240 Brett Connolly [2 available]
Young Guns 237 Joe Vitale [1 available]
Young Guns 243 Matt Frattin [2 available]
Young Guns 247 Carl Klingberg [1 available]
Young Guns 248 Mark Scheifele [1 available]
Young Guns 249 Paul Postma [1 available]
Young Guns 250 Checklist 201-250: Ryan Nugent-Hopkins, Gabriel Landeskog and Adam Larsson [1 available]

2011-12 UD Series 1 All-World Team (Insert Singles):
AW-1 Alexander Semin [1 available]
AW-6 Daniel Sedin [1 available]
AW-15 Jonas Hiller [1 available]
AW-23 Patrick Kane [1 available]
AW-25 Paul Stastny [1 available]
AW-39 Henrik Lundqvist [1 available]

2011-12 UD Series 1 EA Sports Superstars (Insert Singles):
EA-1 Steven Stamkos [2 available]
EA-3 Daniel Sedin [2 available]
EA-4 Henrik Sedin [3 available]
EA-5 Jonathan Toews [5 available]
EA-6 Patrick Kane [4 available]
EA-10 Tyler Seguin [1 available]
EA-12 Dion Phaneuf [3 available]
EA-14 Jarret Stoll [2 available]
EA-15 Jonathan Quick [4 available]

2011-12 UD Series 1 Hockey Heroes (Insert Singles):
HH-2 Gump Worsley [1 available]
HH-3 Andy Bathgate [1 available]
HH-6 Milt Schmidt [1 available]
HH-7 Alex Delvechhio [2 available]
HH-9 Gordie Howe [2 available]
HH-10 Red Kelly [4 available]
HH-11 Ted Lindsay [2 available]

2011-12 UD Series 1 UD Canvas (Insert Singles):
C-5 Zdeno Chara [1 available]
C-7 Patrice Bergeron [1 available]
C-11 Thomas Vanek [1 available]
C-15 Rene Bourque [1 available]
C-58 Sean Avery [1 available]
C-65 Jordan Staal [1 available]
C-67 Marc-Andre Fleury [1 available]

2011-12 UD Series 1 UD Game Jersey (Insert Singles):
GJ- SG Simon Gagne [Black Swatch; 1 available]
GJ-DH Dale Hawerchuk [White Swatch; 1 available]

2011-12 UD Series 1 Winter Classic - Oversized (Insert Singles):
WC-2 Alexander Ovechkin [1 available]
WC-3 Evgeni Malkin [1 available]
WC-7 Marc-Andre Fleury [1 available]

2011-12 Upper Deck Artifacts

2011-12 UD Artifacts Base Set 1-100 (Non-Short Print Singles):
1 Roberto Luongo [2 available]
2 Matt Stajan [2 available]
3 Marian Hossa [4 available]
4 Taylor Hall [3 available]
5 Nicklas Lidstrom [2 available]
6 Shea Weber [3 available]
7 Tim Thomas [2 available]
8 Alex Ovechkin [3 available]
9 Zach Parise [4 available]
10 Marian Gaborik [3 available]
11 Mark Messier [4 available]
12 Patrick Marleau [2 available]
13 Pavel Datsyuk [5 available]
14 Jordan Eberle [2 available]
15 Paul Coffey [2 available]
16 Evander Kane [4 available]
17 Ryan Kesler [2 available]
18 Nathan Horton [4 available]
19 Jonathan Toews [2 available]
20 Luc Robitaille [5 available]
21 Derek Stepan [5 available]
22 Brian Boyle [3 available]
23 Milan Hedjuk [3 available]
24 Jonas Hiller [4 available]
25 Chris Stewart [3 available]
26 Thomas Vanek [4 available]
27 Scott Niedermayer [1 available]
28 Claude Giroux [4 available]
30 Ryan Miller [4 available]
32 Kris Versteeg [4 available]
34 Patrick Kane [2 available]
35 Brad Richards [2 available]
36 Lars Eller [1 available]
37 Patrice Bergeron [1 available]
38 Chris Drury [3 available]
39 Derek Roy [4 available]
40 Tuuka Rask [3 available]
41 Jaroslav Halak [5 available]
42 David Backes [2 available]
43 Drew Stafford [1 available]
44 Jay Bouwmeester [4 available]
46 Anze Kopitar [2 available]
47 Henrik Lundqvist [3 available]
48 Guillaume Latendresse [2 available]
49 Dustin Byfuglien [1 available]
50 Tyler Ennis [2 available]
51 Brendan Shanahan [2 available]
52 Mike Green [3 available]
53 Ales Hemsky [4 available]
54 Jean-Sebastien Giguere [2 available]
55 Maxime Talbot [3 available]
56 Stephen Weiss [4 available]
57 Tyler Myers [2 available]
58 Cam Ward [2 available]
59 Martin Brodeur [2 available]
60 Logan Couture [2 available]
61 Jakub Voracek [1 available]
62 Brandon Dubinsky [2 available]
63 Nikita Filatov [4 available]
64 Alex Tanguay [3 available]
65 Erik Karlsson [4 available]
66 Mario Lemieux [2 available]
67 Alex Pietrangelo [4 available]
68 Jeff Carter [4 available]
69 Vincent Lecavalier [4 available]
70 Tyler Seguin [1 available]
71 Evgeni Malkin [5 available]
72 Marc-Andre Fleury [4 available]
73 Marc Staal [3 available]
74 Jamie Benn [2 available]
75 Jarome Iginla [5 available]
76 P.K. Subban [3 available]
77 Victor Hedman [2 available]
78 Ilya Kovalchuk [2 available]
79 Andrei Markov [2 available]
80 Paul Stastny [3 available]
81 Phil Kessel [2 available]
82 Mike Richards [1 available]
83 Kyle Okposo [5 available]
84 Drew Doughty [4 available]
85 Matt Duchene [2 available]
86 Ondrej Pavelec [1 available]
87 Sidney Crosby [2 available]
88 Eric Lindros [4 available]
89 Sam Gagner [2 available]
90 Mike Modano [4 available]
91 Steven Stamkos [2 available]
92 Joe Thornton [2 available]
93 Bill Ranford [2 available]
94 Daniel Carcillo [4 available]
95 Jason Spezza [3 available]
96 Ryan Getzlaf [3 available]
97 Robin Lehner [1 available]
98 Pekka Rinne [3 available]
99 Wayne Gretzky [4 available]
100 Joe Sakic [2 available]

2010-11 UD Artifacts Base Set 101-___ (Short Print Singles):


2011-12 Upper Deck Black Diamond

2011-12 UD Black Diamond Base Set 1-___ (Single Diamond Non-Short Print Singles):
2 Saku Koivu [1 available]
10 Bobby Orr [1 available]
13 Michael Grabner [1 available]
14 Travis Zajac [1 available]
18 Patrick Sharp [1 available]
19 Alex Tanguay [1 available]
23 Jussi Jokinen [1 available]
37 Patric Hornqvist [1 available]
42 Steve Mason [1 available]
57 Ryan Callahan [1 available]
91 Nicklas Backstrom [1 available]
92 Darren Helm [1 available]

Notice: The hockey-related portions of this not-for-profit, non-commercial fan web site are unaffiliated with the Edmonton Oilers Hockey Club; the National Hockey League (NHL) and its member teams; the National Hockey League Players Association (NHLPA) and its member players; and their trading card company licensees. The collectables-related portions of this not-for-profit, non-commercial fan website are unaffiliated with the respective entities. Any trademarks and images from these entities that have been used herein for editorial purposes remain the exclusive property of the original rights holders. All other elements of this web site, including but not limited to site design and content, are copyright 1993-2012 Matthew S. McCallum, all rights reserved.