exception propagation is better than checking failed variables all the time
exception propagation is better than checking failed variables all the time