not sure the best practice for handling exceptions here, don't want to break the app