add validate tester, change project structure