Avoid rewrite the tpa.cpp if not necessary