sub chain() and version() implemented