Initial commit. Added some interfaces and one test.