use try instead of explicit error raise / rescue