On code design for interference channels