initial commit of functions