text: PSII, PSI, and cytochrome bf are found in chloroplasts. All plants and all photosynthetic algae contain chloroplasts, which produce NADPH and ATP by the mechanisms described above. In essence, the same transmembrane structures are also found in cyanobacteria.
  Unlike plants and algae, cyanobacteria are prokaryotes. They do not contain chloroplasts; rather, they bear a striking resemblance to chloroplasts themselves. This suggests that organisms resembling cyanobacteria were the evolutionary precursors of chloroplasts. One imagines primitive eukaryotic cells taking up cyanobacteria as intracellular symbionts in a process known as endosymbiosis.