add singals and slots