Capacity approaching codes design and implementation