added function class thingies