initial commit and prototype