A method for communication, comprising: determining first cyclic redundancy check, CRC, data from source data; combining the source data and the first CRC data to form first combined data; determining second CRC data from the first combined data; combining the source data, the first CRC data, and the second CRC data to form second combined data; polar encoding the second combined data to form polar-encoded data, comprising: allocating frozen and non-frozen bit positions in an output data structure of the second combined data using reliability index data, the reliability index data relating each bit position of the output data structure of the second combined data to reliability of a corresponding sub-channel; and allocating, among the non-frozen bit positions, information bit positions for the source data and CRC bit positions for the first CRC data and the second CRC data in the output data structure of the combined second data using position management data to identify at least one cluster (1104A, 1104B) within said output data structure, each cluster (1104A, 1104B) comprising non-frozen bit positions for a portion of the source data, first CRC data corresponding to the portion of the source data, and second CRC data that encodes the portion of the source data and the first CRC data corresponding to the portion of the source data; and transmitting the polar-encoded data over a channel. determining first cyclic redundancy check, CRC, data from source data; combining the source data and the first CRC data to form first combined data; determining second CRC data from the first combined data; combining the source data, the first CRC data, and the second CRC data to form second combined data; polar encoding the second combined data to form polar-encoded data, comprising: allocating frozen and non-frozen bit positions in an output data structure of the second combined data using reliability index data, the reliability index data relating each bit position of the output data structure of the second combined data to reliability of a corresponding sub-channel; and allocating, among the non-frozen bit positions, information bit positions for the source data and CRC bit positions for the first CRC data and the second CRC data in the output data structure of the combined second data using position management data to identify at least one cluster (1104A, 1104B) within said output data structure, each cluster (1104A, 1104B) comprising non-frozen bit positions for a portion of the source data, first CRC data corresponding to the portion of the source data, and second CRC data that encodes the portion of the source data and the first CRC data corresponding to the portion of the source data; and transmitting the polar-encoded data over a channel. allocating frozen and non-frozen bit positions in an output data structure of the second combined data using reliability index data, the reliability index data relating each bit position of the output data structure of the second combined data to reliability of a corresponding sub-channel; and allocating, among the non-frozen bit positions, information bit positions for the source data and CRC bit positions for the first CRC data and the second CRC data in the output data structure of the combined second data using position management data to identify at least one cluster (1104A, 1104B) within said output data structure, each cluster (1104A, 1104B) comprising non-frozen bit positions for a portion of the source data, first CRC data corresponding to the portion of the source data, and second CRC data that encodes the portion of the source data and the first CRC data corresponding to the portion of the source data; and transmitting the polar-encoded data over a channel.