added interfaces for signals/slots