added the normal computation