<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def read_properties(filename):
 """read properties file into bunch. :param filename: string :rtype: bunch (dict like and object like) """

    s = path(filename).text()
    dummy_section = 'xxx'
    cfgparser = configparser.RawConfigParser()

    # avoid converting options to lower case
    cfgparser.optionxform = str

    cfgparser.readfp(StringIO('[%s]\n' % dummy_section + s))
    bunch = AutoBunch()
    for x in cfgparser.options(dummy_section):
        setattr(bunch, x, cfgparser.get(dummy_section, str(x)))
    return bunch