implemented F::save properly