Moved extraction out to a function of base lib in preparation for
supporting other archive formats