add signal support