match is my friend.  i must use match.  this code still smells a little.