added rereduce