included requirement function class, also tested