refactor /2