board file save refactor initial commit, move save code to core so that it can be used by everyone
clean up file saving refactor