usage now exception safe