We really need these things if we want to continue using/developing this script: - Add comprehensive comments for both implementation details and interface. - Improve style. - Small refactoring.