refactore tests
refactoring complet, need to fix some bug
Merge branch 'refactoring' into dev-all