initial commit of the whole code