Tests

* Unit tests
* Functional tests