has_extension public