working on exception handling.