Was there a specific reason that you changed the return format?  It seems to add redundant code...