added more exception handling stuffs