def engineer_features(df):
    """ This function takes a pandas DataFrame as output by process_data
    and returns a pandas DataFrame with features ready for modeling.

    Args:
       df: cleanded pandas DataFrame as output by process_data

    Returns: pandas DataFrame with features ready for modeling
    """
    # feature 1 code

    # feature 2 code

    # feature 3 code

    return df