Error-Correcting Codes - Revised, 2nd Edition