added prototype subclasses.