fix a bug now it can produce data