Making the prototype system generic.