Implemented revelaing module pattern to hide certain functions.