sv lang, refactor, fix