add trace function