do NOT wrap around try-catch block. Screws up flow-control