Started improving tests.
Implementing interfaces for required structures.