some changes for tap_source