changed to hasmany