Quantum computing and its challenges