needs class