initial commit of completed functions