refactor for decodeIDF