clean methods and exception handling