checkpoint for refactor