Refactor interpolation, allow choice of system