Improvements. Now supports has_and_belongs_to_many relationship models