add empty_source
add null_sink