improvement inheritance class.
add interception funtion.