new dll interface which avoids various brokenness