first pass at decimal approximation
using streams so we can fold in some analysis