add interface for defining trace