diff --git a/apps/tx_example.grc b/apps/tx_example.grc
new file mode 100644
index 0000000000000000000000000000000000000000..39e4f6664f26cd24eae04e3343f0a9a8890aba84
--- /dev/null
+++ b/apps/tx_example.grc
@@ -0,0 +1,295 @@
+options:
+  parameters:
+    author: ''
+    catch_exceptions: 'True'
+    category: '[GRC Hier Blocks]'
+    cmake_opt: ''
+    comment: ''
+    copyright: ''
+    description: ''
+    gen_cmake: 'On'
+    gen_linking: dynamic
+    generate_options: qt_gui
+    hier_block_src_path: '.:'
+    id: tx_example
+    max_nouts: '0'
+    output_language: python
+    placement: (0,0)
+    qt_qss_theme: ''
+    realtime_scheduling: ''
+    run: 'True'
+    run_command: '{python} -u {filename}'
+    run_options: prompt
+    sizing_mode: fixed
+    thread_safe_setters: ''
+    title: Not titled yet
+  states:
+    bus_sink: false
+    bus_source: false
+    bus_structure: null
+    coordinate: [8, 8]
+    rotation: 0
+    state: enabled
+
+blocks:
+- name: freq
+  id: variable
+  parameters:
+    comment: ''
+    value: 144.4e6
+  states:
+    bus_sink: false
+    bus_source: false
+    bus_structure: null
+    coordinate: [280, 12.0]
+    rotation: 0
+    state: true
+- name: rf_gain_sink
+  id: variable_qtgui_range
+  parameters:
+    comment: ''
+    gui_hint: ''
+    label: RF gain sink
+    min_len: '200'
+    orient: QtCore.Qt.Horizontal
+    rangeType: float
+    start: '0'
+    step: '1'
+    stop: '60'
+    value: '10'
+    widget: counter_slider
+  states:
+    bus_sink: false
+    bus_source: false
+    bus_structure: null
+    coordinate: [376, 12.0]
+    rotation: 0
+    state: true
+- name: samp_rate
+  id: variable
+  parameters:
+    comment: ''
+    value: 2e6
+  states:
+    bus_sink: false
+    bus_source: false
+    bus_structure: null
+    coordinate: [184, 12]
+    rotation: 0
+    state: enabled
+- name: analog_sig_source_x_0
+  id: analog_sig_source_x
+  parameters:
+    affinity: ''
+    alias: ''
+    amp: '1'
+    comment: ''
+    freq: '10000'
+    maxoutbuf: '0'
+    minoutbuf: '0'
+    offset: '0'
+    phase: '0'
+    samp_rate: samp_rate
+    type: complex
+    waveform: analog.GR_COS_WAVE
+  states:
+    bus_sink: false
+    bus_source: false
+    bus_structure: null
+    coordinate: [112, 108.0]
+    rotation: 0
+    state: true
+- name: bladeRF_sink_0
+  id: bladeRF_sink
+  parameters:
+    affinity: ''
+    alias: ''
+    bias_tee0: 'False'
+    bias_tee1: 'False'
+    bw0: samp_rate
+    bw1: '200000'
+    comment: ''
+    corr0: '0'
+    corr1: '0'
+    dac: '10000'
+    dc_calibration: LPF_TUNING
+    device_id: '0'
+    fpga_image: ''
+    fpga_reload: 'False'
+    freq0: freq
+    freq1: 1e8
+    gain0: rf_gain_sink
+    gain1: '10'
+    if_gain0: '20'
+    if_gain1: '20'
+    in_clk: ONBOARD
+    lpf_mode: disabled
+    maxoutbuf: '0'
+    metadata: 'False'
+    minoutbuf: '0'
+    nchan: '1'
+    out_clk: 'False'
+    ref_clk: ''
+    sample_rate: samp_rate
+    sampling: internal
+    smb: '0'
+    tamer: internal
+    trigger0: 'True'
+    trigger1: 'False'
+    trigger_role0: master
+    trigger_role1: master
+    trigger_signal0: J51_1
+    trigger_signal1: J51_1
+    verbosity: verbose
+    xb200: none
+  states:
+    bus_sink: false
+    bus_source: false
+    bus_structure: null
+    coordinate: [560, 36.0]
+    rotation: 0
+    state: true
+- name: bladeRF_source_0
+  id: bladeRF_source
+  parameters:
+    affinity: ''
+    alias: ''
+    bias_tee0: 'False'
+    bias_tee1: 'False'
+    bw0: samp_rate
+    bw1: '200000'
+    comment: ''
+    corr0: '0'
+    corr1: '0'
+    dac: '10000'
+    dc_calibration: LPF_TUNING
+    dc_offset_mode0: '0'
+    dc_offset_mode1: '0'
+    device_id: '0'
+    fpga_image: ''
+    fpga_reload: 'False'
+    freq0: freq
+    freq1: 1e8
+    gain0: '10'
+    gain1: '10'
+    gain_mode0: 'False'
+    gain_mode1: 'False'
+    if_gain0: '20'
+    if_gain1: '20'
+    in_clk: ONBOARD
+    iq_balance_mode0: '0'
+    iq_balance_mode1: '0'
+    lpf_mode: disabled
+    maxoutbuf: '0'
+    metadata: 'False'
+    minoutbuf: '0'
+    nchan: '1'
+    out_clk: 'False'
+    ref_clk: ''
+    sample_rate: samp_rate
+    sampling: internal
+    smb: '0'
+    tamer: internal
+    trigger0: 'True'
+    trigger1: 'False'
+    trigger_role0: slave
+    trigger_role1: master
+    trigger_signal0: J51_1
+    trigger_signal1: J51_1
+    verbosity: verbose
+    xb200: none
+  states:
+    bus_sink: false
+    bus_source: false
+    bus_structure: null
+    coordinate: [128, 252.0]
+    rotation: 0
+    state: true
+- name: qtgui_freq_sink_x_0
+  id: qtgui_freq_sink_x
+  parameters:
+    affinity: ''
+    alias: ''
+    alpha1: '1.0'
+    alpha10: '1.0'
+    alpha2: '1.0'
+    alpha3: '1.0'
+    alpha4: '1.0'
+    alpha5: '1.0'
+    alpha6: '1.0'
+    alpha7: '1.0'
+    alpha8: '1.0'
+    alpha9: '1.0'
+    autoscale: 'False'
+    average: '1.0'
+    axislabels: 'True'
+    bw: samp_rate
+    color1: '"blue"'
+    color10: '"dark blue"'
+    color2: '"red"'
+    color3: '"green"'
+    color4: '"black"'
+    color5: '"cyan"'
+    color6: '"magenta"'
+    color7: '"yellow"'
+    color8: '"dark red"'
+    color9: '"dark green"'
+    comment: ''
+    ctrlpanel: 'False'
+    fc: freq
+    fftsize: '1024'
+    freqhalf: 'True'
+    grid: 'False'
+    gui_hint: ''
+    label: Relative Gain
+    label1: ''
+    label10: ''''''
+    label2: ''''''
+    label3: ''''''
+    label4: ''''''
+    label5: ''''''
+    label6: ''''''
+    label7: ''''''
+    label8: ''''''
+    label9: ''''''
+    legend: 'True'
+    maxoutbuf: '0'
+    minoutbuf: '0'
+    name: '""'
+    nconnections: '1'
+    norm_window: 'False'
+    showports: 'False'
+    tr_chan: '0'
+    tr_level: '0.0'
+    tr_mode: qtgui.TRIG_MODE_FREE
+    tr_tag: '""'
+    type: complex
+    units: dB
+    update_time: '0.10'
+    width1: '1'
+    width10: '1'
+    width2: '1'
+    width3: '1'
+    width4: '1'
+    width5: '1'
+    width6: '1'
+    width7: '1'
+    width8: '1'
+    width9: '1'
+    wintype: window.WIN_BLACKMAN_hARRIS
+    ymax: '10'
+    ymin: '-140'
+  states:
+    bus_sink: false
+    bus_source: false
+    bus_structure: null
+    coordinate: [352, 268.0]
+    rotation: 0
+    state: true
+
+connections:
+- [analog_sig_source_x_0, '0', bladeRF_sink_0, '0']
+- [bladeRF_source_0, '0', qtgui_freq_sink_x_0, '0']
+
+metadata:
+  file_format: 1
diff --git a/grc/gen_bladerf_blocks.py b/grc/gen_bladerf_blocks.py
index 66d0e794941f63678e3cf37d4bc354bb821b2da8..b891acfb3149d508463fb84c3e900464612ad2a7 100644
--- a/grc/gen_bladerf_blocks.py
+++ b/grc/gen_bladerf_blocks.py
@@ -147,10 +147,6 @@ parameters:
 ${params}
 
 inputs:
-- domain: message
-  id: command
-  optional: true
-  
 - domain: message
   id: pmic_in
   optional: true
@@ -164,18 +160,12 @@ outputs:
   multiplicity: ${'$'}{nchan}
 % if sourk == 'sink':
 outputs:
-- domain: message
-  id: async_msgs
-  optional: true
 % endif
 
 - domain: message
   id: pmic_out
   optional: true
 
-
-
-
 templates:
   imports: |-
      import bladeRF
diff --git a/lib/sink_impl.cc b/lib/sink_impl.cc
index 553d85737c7dc5e53da8e8f897ce967c005da948..9e3f3c3cc18cf8ff655f8b295b68f11a0a1982ea 100644
--- a/lib/sink_impl.cc
+++ b/lib/sink_impl.cc
@@ -35,6 +35,11 @@ namespace gr {
                                      "(check the connection and/or udev rules).");
 
         device_ = make_bladerf_sink_c( args ); //todo: get by id from block args
+        for (size_t i = 0; i < device_->get_num_channels(); i++)
+        {
+            connect(self(), i, device_, i);
+        }
+
         setup_device_connects(device_);
     }