finally, solve this damn ch17_14