def METHOD_NAME(features, location=None, profile_name=None):
    """Saves the features list as JSON to a specified filepath/S3 path, writes to an open file, or
    returns the serialized features as a JSON string. If no file provided, returns a string.
    Args:
        features (list[:class:`.FeatureBase`]): List of Feature definitions.
        location (str or :class:`.FileObject`, optional): The location of where to save
            the features list which must include the name of the file,
            or a writeable file handle to write to. If location is None, will return a JSON string
            of the serialized features.
            Default: None
        profile_name (str, bool): The AWS profile specified to write to S3. Will default to None and search for AWS credentials.
                                    Set to False to use an anonymous profile.
    Note:
        Features saved in one version of Featuretools are not guaranteed to work in another.
        After upgrading Featuretools, features may need to be generated again.
    Example:
        .. ipython:: python
            :suppress:
            from featuretools.tests.testing_utils import (
                make_ecommerce_entityset)
            import featuretools as ft
            es = make_ecommerce_entityset()
            import os
        .. code-block:: python
            f1 = ft.Feature(es["log"].ww["product_id"])
            f2 = ft.Feature(es["log"].ww["purchased"])
            f3 = ft.Feature(es["log"].ww["value"])
            features = [f1, f2, f3]
            # Option 1
            filepath = os.path.join('/Home/features/', 'list.json')
            ft.save_features(features, filepath)
            # Option 2
            filepath = os.path.join('/Home/features/', 'list.json')
            with open(filepath, 'w') as f:
                ft.save_features(features, f)
            # Option 3
            features_string = ft.save_features(features)
    .. seealso::
        :func:`.load_features`
    """
    return FeaturesSerializer(features).save(location, profile_name=profile_name)