reafactored how excpetions are handled, updated sqlfu