add poly order to functions as input instead of class property