change to compact form using more funcs in provided
Merge branch 'master' of https://github.com/creasyw/learning