added signal and slot