refactoring
output