almost working HABTM saving