updated for reduction