better improvement
has_and_belongs_to_many assocition