new branch. this branch uses the yeoman scaffolding tool.
some test cases added