add initial support for hasMany :through