add has_one_through