Better variable names and better exception handling.