add trap.cpp