public function replace($replace_id, $id, $delete = TRUE)
 {
     $CI =& get_instance();
     $CI->load->module_model(FUEL_FOLDER, 'fuel_pagevariables_model');
     // start a transaction in case there are any errors
     $CI->fuel_pagevariables_model->db()->trans_begin();
     // retrieve new variables
     $new_values = $CI->fuel_pagevariables_model->find_all_array(array('page_id' => $id));
     // delete old variables
     $CI->fuel_pagevariables_model->delete(array('page_id' => $replace_id));
     $saved = TRUE;
     foreach ($new_values as $var) {
         $var['page_id'] = $replace_id;
         if (!$CI->fuel_pagevariables_model->save($var)) {
             $saved = FALSE;
         }
     }
     // check if there are any errors and if so we rollem back...
     if ($CI->fuel_pagevariables_model->db()->trans_status() === FALSE) {
         $saved = FALSE;
         $CI->fuel_pagevariables_model->db()->trans_rollback();
     } else {
         $CI->fuel_pagevariables_model->db()->trans_commit();
     }
     $saved = parent::replace($replace_id, $id, $delete);
     return $saved;
 }