Photon based computing