An introduction and explanation to the ML module system