Enhanced DSSC performance with tri-pyridine-ruthenium heteropolytungstate