tune and improve method apply

send data in apply-sub directly
add some log and exceptions