diff --git a/app/avo/resources/sample.rb b/app/avo/resources/sample.rb
index b527c561e4cead36ad16491a74c492952020043e..7bae194c1fb0c9070c2813b94f8588647fe1e7c9 100644
--- a/app/avo/resources/sample.rb
+++ b/app/avo/resources/sample.rb
@@ -14,7 +14,7 @@ class Avo::Resources::Sample < Avo::BaseResource
     field :previous_fabric_name, as: :textarea
     field :ware, as: :belongs_to
     field :ware_addinfo, as: :textarea
-    field :analysis_method_ids, as: :textarea
+    field :analysis_method_ids, as: :select, options: -> { AnalysisMethod.all.map { |am| ["#{am.code} - #{am.method}", am.id] } }, multiple: true
     field :analysis_method_addinfo, as: :textarea
     field :analysis_author, as: :number
     field :pet_min_type, as: :textarea
@@ -59,104 +59,175 @@ class Avo::Resources::Sample < Avo::BaseResource
     field :visual_examination, as: :textarea
     field :comment, as: :textarea
     field :"porosity in %", as: :textarea
-    field :voids_form_ids, as: :textarea
+    field :voids_form_ids, as: :select, options: -> { VoidsForm.all.pluck(:voids_form, :voids_form) }, multiple: true
     field :"voids-L-min", as: :textarea
     field :"voids-L-max", as: :textarea
     field :"inclusions in %", as: :textarea
     field :"inclusions-L-min", as: :textarea
     field :"inclusions-L-max", as: :textarea
-    field :sorting_ids, as: :textarea
-    field :quartz_frequency_ids, as: :textarea
-    field :quartz_sphericity_ids, as: :textarea
-    field :quartz_form_ids, as: :textarea
-    field :quartz_colour_ids, as: :textarea
-    field :"quartz-L-min", as: :textarea
-    field :"quartz-L-max", as: :textarea
-    field :mica_frequency_ids, as: :textarea
-    field :mica_sphericity_ids, as: :textarea
-    field :mica_form_ids, as: :textarea
-    field :mica_colour_ids, as: :textarea
-    field :"mica-L-min", as: :textarea
-    field :"mica-L-max", as: :textarea
-    field :calciumcarbonate_frequency_ids, as: :textarea
-    field :calciumcarbonate_sphericity_ids, as: :textarea
-    field :calciumcarbonate_form_ids, as: :textarea
-    field :calciumcarbonate_colour_ids, as: :textarea
-    field :"calciumcarbonate-L-min", as: :textarea
-    field :"calciumcarbonate-L-max", as: :textarea
-    field :carbonate_pseudomorphoses_frequency_ids, as: :textarea
-    field :carbonate_pseudomorphoses_sphericity_ids, as: :textarea
-    field :carbonate_pseudomorphoses_form_ids, as: :textarea
-    field :carbonate_pseudomorphoses_colour_ids, as: :textarea
-    field :"carbonate_pseudomorphoses-L-min", as: :textarea
-    field :"carbonate_pseudomorphoses-L-max", as: :textarea
-    field :blackironore_frequency_ids, as: :textarea
-    field :blackironore_sphericity_ids, as: :textarea
-    field :blackironore_form_ids, as: :textarea
-    field :blackironore_colour_ids, as: :textarea
-    field :"blackironore-L-min", as: :textarea
-    field :"blackironore-L-max", as: :textarea
-    field :redironore_frequency_ids, as: :textarea
-    field :redironore_sphericity_ids, as: :textarea
-    field :redironore_form_ids, as: :textarea
-    field :redironore_colour_ids, as: :textarea
-    field :"redironore-L-min", as: :textarea
-    field :"redironore-L-max", as: :textarea
-    field :reddish_inclusions_frequency_ids, as: :textarea
-    field :reddish_inclusions_sphericity_ids, as: :textarea
-    field :reddish_inclusions_form_ids, as: :textarea
-    field :reddish_inclusions_colour_ids, as: :textarea
-    field :"reddish_inclusions-L-min", as: :textarea
-    field :"reddish_inclusions-L-max", as: :textarea
-    field :black_inclusions_frequency_ids, as: :textarea
-    field :black_inclusions_sphericity_ids, as: :textarea
-    field :black_inclusions_form_ids, as: :textarea
-    field :black_inclusions_colour_ids, as: :textarea
-    field :"black_inclusions-L-min", as: :textarea
-    field :"black_inclusions-L-max", as: :textarea
-    field :grey_inclusions_frequency_ids, as: :textarea
-    field :grey_inclusions_sphericity_ids, as: :textarea
-    field :grey_inclusions_form_ids, as: :textarea
-    field :grey_inclusions_colour_ids, as: :textarea
-    field :"grey_inclusions-L-min", as: :textarea
-    field :"grey_inclusions-L-max", as: :textarea
-    field :brown_inclusions_frequency_ids, as: :textarea
-    field :brown_inclusions_sphericity_ids, as: :textarea
-    field :brown_inclusions_form_ids, as: :textarea
-    field :brown_inclusions_colour_ids, as: :textarea
-    field :"brown_inclusions-L-min", as: :textarea
-    field :"brown_inclusions-L-max", as: :textarea
-    field :white_inclusions_frequency_ids, as: :textarea
-    field :white_inclusions_sphericity_ids, as: :textarea
-    field :white_inclusions_form_ids, as: :textarea
-    field :white_inclusions_colour_ids, as: :textarea
-    field :"white_inclusions-L-min", as: :textarea
-    field :"white_inclusions-L-max", as: :textarea
-    field :foraminifera_frequency_ids, as: :textarea
-    field :foraminifera_sphericity_ids, as: :textarea
-    field :foraminifera_form_ids, as: :textarea
-    field :foraminifera_colour_ids, as: :textarea
-    field :"foraminifera-L-min", as: :textarea
-    field :"foraminifera-L-max", as: :textarea
-    field :more_inclusions1_frequency_ids, as: :textarea
-    field :more_inclusions1_sphericity_ids, as: :textarea
-    field :more_inclusions1_form_ids, as: :textarea
-    field :more_inclusions1_colour_ids, as: :textarea
-    field :"more_inclusions1-L-min", as: :textarea
-    field :"more_inclusions1-L-max", as: :textarea
-    field :more_inclusions2_frequency_ids, as: :textarea
-    field :more_inclusions2_sphericity_ids, as: :textarea
-    field :more_inclusions2_form_ids, as: :textarea
-    field :more_inclusions2_colour_ids, as: :textarea
-    field :"more_inclusions2-L-min", as: :textarea
-    field :"more_inclusions2-L-max", as: :textarea
-    field :more_inclusions3_frequency_ids, as: :textarea
-    field :more_inclusions3_sphericity_ids, as: :textarea
-    field :more_inclusions3_form_ids, as: :textarea
-    field :more_inclusions3_colour_ids, as: :textarea
-    field :"more_inclusions3-L-min", as: :textarea
-    field :"more_inclusions3-L-max", as: :textarea
+    field :sorting_ids, as: :select, options: -> { Sorting.all.pluck(:sorting, :sorting) }, multiple: true
     field :images_not_visible, as: :textarea
     field :image_color, as: :has_one
+
+    tabs do
+      tab "Quartz" do
+        panel do
+          field :quartz_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :quartz_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :quartz_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :quartz_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"quartz-L-min", as: :textarea
+          field :"quartz-L-max", as: :textarea
+        end
+      end
+      tab "Mica" do
+        panel do
+          field :mica_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :mica_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :mica_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :mica_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"mica-L-min", as: :textarea
+          field :"mica-L-max", as: :textarea
+        end
+      end
+      tab "Calcium Carbonate" do
+        panel do
+          field :calciumcarbonate_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :calciumcarbonate_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :calciumcarbonate_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :calciumcarbonate_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"calciumcarbonate-L-min", as: :textarea
+          field :"calciumcarbonate-L-max", as: :textarea
+        end
+      end
+      tab "Carbonate Pseudomorphoses" do
+        panel do
+          field :carbonate_pseudomorphoses_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :carbonate_pseudomorphoses_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :carbonate_pseudomorphoses_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :carbonate_pseudomorphoses_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"carbonate_pseudomorphoses-L-min", as: :textarea
+          field :"carbonate_pseudomorphoses-L-max", as: :textarea
+        end
+      end
+      tab "Black Iron Ore" do
+        panel do
+          field :blackironore_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :blackironore_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :blackironore_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :blackironore_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"blackironore-L-min", as: :textarea
+          field :"blackironore-L-max", as: :textarea
+        end
+      end
+      tab "Red Iron Ore" do
+        panel do
+          field :redironore_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :redironore_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :redironore_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :redironore_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"redironore-L-min", as: :textarea
+          field :"redironore-L-max", as: :textarea
+        end
+      end
+      tab "Reddish Inclusions" do
+        panel do
+          field :reddish_inclusions_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :reddish_inclusions_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :reddish_inclusions_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :reddish_inclusions_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"reddish_inclusions-L-min", as: :textarea
+          field :"reddish_inclusions-L-max", as: :textarea
+        end
+      end
+
+      tab "Black Inclusions" do
+        panel do
+          field :black_inclusions_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :black_inclusions_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :black_inclusions_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :black_inclusions_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"black_inclusions-L-min", as: :textarea
+          field :"black_inclusions-L-max", as: :textarea
+        end
+      end
+
+      tab "Grey Inclusions" do
+        panel do
+          field :grey_inclusions_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :grey_inclusions_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :grey_inclusions_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :grey_inclusions_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"grey_inclusions-L-min", as: :textarea
+          field :"grey_inclusions-L-max", as: :textarea
+        end
+      end
+
+      tab "Brown Inclusions" do
+        panel do
+          field :brown_inclusions_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :brown_inclusions_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :brown_inclusions_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :brown_inclusions_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"brown_inclusions-L-min", as: :textarea
+          field :"brown_inclusions-L-max", as: :textarea
+        end
+      end
+
+      tab "White Inclusions" do
+        panel do
+          field :white_inclusions_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :white_inclusions_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :white_inclusions_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :white_inclusions_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"white_inclusions-L-min", as: :textarea
+          field :"white_inclusions-L-max", as: :textarea
+        end
+      end
+
+      tab "Foraminifera" do
+        panel do
+          field :foraminifera_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :foraminifera_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :foraminifera_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :foraminifera_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"foraminifera-L-min", as: :textarea
+          field :"foraminifera-L-max", as: :textarea
+        end
+      end
+
+      tab "More Inclusions 1" do
+        panel do
+          field :more_inclusions1_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :more_inclusions1_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :more_inclusions1_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :more_inclusions1_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"more_inclusions1-L-min", as: :textarea
+          field :"more_inclusions1-L-max", as: :textarea
+        end
+      end
+
+      tab "More Inclusions 2" do
+        panel do
+          field :more_inclusions2_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :more_inclusions2_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :more_inclusions2_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :more_inclusions2_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"more_inclusions2-L-min", as: :textarea
+          field :"more_inclusions2-L-max", as: :textarea
+        end
+      end
+
+      tab "More Inclusions 3" do
+        panel do
+          field :more_inclusions3_frequency_ids, as: :select, options: -> { Frequency.all.pluck(:frequency, :frequency) }, multiple: true
+          field :more_inclusions3_sphericity_ids, as: :select, options: -> { Sphericity.all.pluck(:sphericity, :sphericity) }, multiple: true
+          field :more_inclusions3_form_ids, as: :select, options: -> { Form.all.pluck(:form, :form) }, multiple: true
+          field :more_inclusions3_colour_ids, as: :select, options: -> { Colour.all.pluck(:colour, :colour) }, multiple: true
+          field :"more_inclusions3-L-min", as: :textarea
+          field :"more_inclusions3-L-max", as: :textarea
+        end
+      end
+    end
   end
 end