refactor, rechecking