Initial high level interface and tests.