added load and save functionality