self-constructing nanodevices