a solar cell is a