refactor callback
refactor callback with UVSignal