Enhancing Solar Cells with Nanoparticles