add signals as dependency
fix bug