This does indeed sound in part what I would like to do, and I will look further into that. However, I am having additional problems with trying to create the object from a hash outside of the object. Let me explain: In addition to creating the object from the db I also would like to create it from inputted parameters. I am used to blessing a hash created inside the class, but this time I want to create the hash outside the class and pass it to the constructor. If I do this, then I may not know exactly what the keys are in the hash and in this way it can be generic. Does that make a little more sense? I know this is unusal. Maybe, I shouldn't be doing it this way at all, but it seems a good way to deal with a number of other issues I would have to handle such as dynamic databases (ie. columns changing in the input forms or in the databases).