Arrowhead refactoring

This method still uses arrowhead pattern.