can now cope with a class_order being a single value (so not an array)

also copes with no order being specified