added load and save mechanism