when decoding, only have one instance in memory instead of whole file(s)