Added files and classes. Added tests.