easier to read?!, add trace check