new trap.* lib