refereced from https://github.com/zikula/core/wiki/Coding-Standards