add state-pattern type calculator
update README.md