fix gcc warning
correct non matching #ifndef #define
remove multiple declaration
Merge pull request #15.
Merge pull request #16