added onstatuschanged signal