refactor initexpression location