Explore surface codes for error correction