refactor continue...