almost finished new grap type porting, reverse remain