add Callback and dynamic signal handler