last come refactor