almost done, TODO:print to file