initial commit

need to publish to repository. add test and docs