fixes has_one_through and cleans up code