 Needs some work, I think.  Does it still work?
 we need to validate the caller!
