initial commit
added tests