diff --git a/drupal/sites/all/modules/menuclass/menuclass.module b/drupal/sites/all/modules/menuclass/menuclass.module
index 68a9883..b83de1e 100755
--- a/drupal/sites/all/modules/menuclass/menuclass.module
+++ b/drupal/sites/all/modules/menuclass/menuclass.module
@@ -115,8 +115,10 @@ function menuclass_to_link(&$link) {
   if (!empty($class_objects)) {
     
     $classes = array();
-    foreach ($class_objects as $class_object) {
-      $classes[] = $class_object['definition'];
+    foreach ($class_objects as $objects) {
+      foreach ($objects as $key => $class_object) {
+        $classes[] = $class_object['definition'];
+      }
     }
     $classes = implode(' ', $classes);
     if (empty($link['localized_options']['attributes']['class'])) {
@@ -167,9 +169,9 @@ function menuclass_form_alter(&$form, $form_state, $form_id) {
         // Add a select box for each class set.
         foreach ($sets as $csid => $set) {
           $form['menuclass']["menuclass-set-$csid"] = array(
-            '#type' => 'select',
+            '#type' => 'checkboxes',
             '#title' => check_plain($set),
-            '#default_value' => is_array($default_values[$csid]) ? $default_values[$csid]['classid'] : 0,
+            '#default_value' => is_array($default_values[$csid]) ? array_keys($default_values[$csid]) : 0,
             '#options' => menuclass_get_classes_options($csid),
           );
         }
@@ -294,7 +296,7 @@ function menuclass_get_classes($csid) {
  */
 function menuclass_get_classes_options($csid) {
   $classes_objects = menuclass_get_classes($csid);
-  $classes = array(0 => t('<None>'));
+  //$classes = array(0 => t('None'));
   foreach ($classes_objects as $classid => $class_object) {
     $classes[$classid] = $class_object->definition;
   }
@@ -331,7 +333,7 @@ function menuclass_get_item_classes($mlid) {
   $result = db_query('SELECT mcd.csid, mlc.classid, mcd.definition FROM {menu_links_class} mlc LEFT JOIN {menu_class_definition} mcd ON mlc.classid = mcd.classid WHERE mlid = %d', $mlid);
   $classes = array();
   while ($class = db_fetch_object($result)) {
-    $classes[$class->csid] = array(
+    $classes[$class->csid][$class->classid] = array(
       'classid' => $class->classid,
       'definition' => $class->definition,
     );
@@ -364,14 +366,20 @@ function menuclass_set_item_classid($mlid, $csid, $classid = NULL) {
   
   // Remove existing reference to class definition's ID from the
   // current class set.
-  if (db_query("DELETE FROM {menu_links_class} WHERE mlid = %d and classid IN (SELECT classid FROM {menu_class_definition} WHERE csid = %d) LIMIT 1", $mlid, $csid)) {
+  if (db_query("DELETE FROM {menu_links_class} WHERE mlid = %d and classid IN (SELECT classid FROM {menu_class_definition} WHERE csid = %d) ", $mlid, $csid)) {
     
     // Create a new reference if a $classid was passed over.
     if (!empty($classid)) {
+      $result = TRUE;
       $link_class = new stdClass();
       $link_class->mlid = (int)$mlid;
-      $link_class->classid = (int)$classid;
-      return (bool)drupal_write_record('menu_links_class', $link_class);
+      foreach($classid as $key => $clid) {
+        if ($clid != 0) {
+          $link_class->classid = (int)$clid;
+          $result = $result AND (bool)drupal_write_record('menu_links_class', $link_class);
+        }
+      }
+      return $result;
     }
     else {
       // We only needed to delete a reference. Return successfully.
