Improved robustness, cleaned code, improved comments, easier to understand inputs.