refactor versions