better signal binding