Eliminate double save and stop using exceptions for flow control