Nanoscale computing