* add custom version type * extend functionality * adapt to requested changes * move to own package * remove duplicate tests, rename package * not handle err