refactor father_son