rework tests
todos
Merge branch 'master' into bidirectional2