First commit of intial working version.