Towards artificial photosynthesis