Turbo-like codes over the block fading channel: code design and construction