names refactoring - factorial