third commit, add save and load function