add signal.hpp & redefinision error check files