use dynamic to call method