smart_generic
