less generics may make faster on pi