add projection header
refactor interpolation, add projection