Add reducer based io