use streams 2&3 instead of through