Add save! to raise exception if things go wrong

AFAIK `||` syntax if prefered over `or`