add notation and do some clean up