use try/catch to make things nicer.