Improve Delegate

add client codes