- generalizing G
clean up