Added saveOrThrow and runTransaction