Lots of refactoring, can load and save I think with a data access object...