save/load methods with catches for user errors