add more trace
refactor