change: use streaming API instead of own implementation