fix: force overwrite completefunc