PROGRAMMABLE NANOPARTICLES