copy position of original expression
refine unit tests