First commit
adding preliminaries
adding main part