initial import
added license header
added tests
added tests
added testcase
formatted by eclipse
added license header
updated