add header guard and interface constructor
fix unterminated #ifndef
fix Makefile issue
cleaning main.cpp
implement basic logic methods