refactor expression and value type usage to speed up compile time
Add new header