added lommel-seeliger function