using punctured codes