initial commit of concrete subclasses