refactoring
foo