require openbabel