Commented code + Refactor + external JS file.