almost finished new grap type porting, calc and reverse remain