general specification