implement listener(cont)