https://medium.com/@monocosmo77/a-brief-introduction-to-clifford-gates-part2-quantum-computing-c80f96c09993