two functions almost done and left data