Big refactoring and small documentation improvements.

Refactoring:

- DOP
- OOP
- Error

Documentation:

- backend application
- standard server library
- suggestion for pairs matching feature