first version of GenericBean