add logic
merge test script
make it work
Merge branch 'generic'