Chloroplasts are organelles which contain