refactor SDIF