     # TODO:
     # - use process to export products in batches
     # - use streams to write data chunks
-    @client.products.all().fetch()
+    @_getProductService()
     .then (result) =>
       products = result.body.results
       if _.size(products) is 0
         Promise.resolve 'No products found.'
       else
-        console.log "Number of products: #{_.size products}."
+        console.log "Number of fetched products: #{result.body.count}/#{result.body.total}."
         @_saveJSON(outputFile, products)
         .then -> Promise.resolve 'Export done.'
 

      header: header
    new ExportMapping(options)

  export: (templateContent, outputFile, staged = true) ->
    @_parse(templateContent)
    .then (header) =>

        header.toIndex()
        header.toLanguageIndex()
        exportMapping = @_initMapping(header)
        data = [
          @typesService.getAll @client
          @categoryService.getAll @client
          @channelService.getAll @client
          @customerGroupService.getAll @client
          @taxService.getAll @client
          @_getProductService()
        ]
        # TODO:
        # - use process to export products in batches
