Solar cells : from basics to advanced systems