Fix interfaces behaviour
Add test suite