avoid `opts` dirty when npd.load