experimenting with exception handling