Layered Architecture For Quantum Computing