Version 1.2 with interface support and tests.