use dynamic proxy replace code generate