Rewrited signals so it can be more flexible.