add global defaults feature. fix #18
100% coverage
Merge branch 'alsotang-defaults'