Shannon function added