remove redundant if-else construct
fix include guards
Fix header inclusion
remove water