adding trace abstraction