Fixing Shannon's mistakes