calculation based on casagrande, pike & smith
combining libraries