def getSparkFrameFromCSV(sparkSession, localFileSystemPath, selectionColumns=None):
    """
    This function returns a sparkSession dataframe from the provided csv file path
    
    Syntax:
        status, message, df = getSparkFrameFromCSV(sparkSession, "/path/to/data/dataset.csv")
    
    Args:
        sparkSession (sparkSession context): sparkSession context
        localFileSystemPath (str)          : path of csv file to be converted to sparkSession dataframe
        selectionColumns (list)            : list of column nemes that should be only present in the return dataframe (default value: None)
    
    Returns:
        status (bool)              : True or False depending on state of data read  
        message (str)              : Log message according to action performed
        df (pyspark.sql.dataframe) : sparkSession dataframe read from csv
    """
    try:
        df = sparkSession.read.format("csv").option("header", "true").option("inferschema", "true").load("file://" + localFileSystemPath)
        
        # If all columns are to be selected, return
        if selectionColumns:
            return True, "Dataset read into sparkSession dataframe successfully", df.select(*selectionColumns)
        else:
            return True, "Dataset read into sparkSession dataframe successfully", df
    except Exception as e:
        print("Error encountered in reading csv file.\n", e)
        return False, e, None