correct non matching #ifndef #define
remove multiple declaration
Merge pull request #15.
Merge pull request #16
Merge remote-tracking branch upstream/$:{upbranch}