Use external file for easy script reuse and support contribute.html