initial commit with doc and prototype