<nitpick>Can't you use undef's here instead of strings?</nitpick>