Self-Assembling Nanostructures