everything necessary