more try catch, jeez