I tried to look a bit about dictionaries and it should work,

any idea why it doesn't?

first I make a class with private properties:

```
using UnityEngine;
using System.Collections;

public class level
{
    private string levelTitle;
    private int moneyValue;

    public string LevelTitle
    {
        get
        {
            return levelTitle;
        }

        set
        {
            levelTitle = value;
        }
    }

    public int MoneyValue
    {
        get
        {
            return moneyValue;
        }

        set
        {
            moneyValue = value;
        }
    }

    public level(string levelTitle, int moneyValue)
    {
        this.LevelTitle = levelTitle;
        this.moneyValue = moneyValue;
    }
}

```

btw, in the class constructor, should I assign the private properties themself or through their get set methods?

anyway, then on another script, I make a dictionary:

```
public Dictionary<int, level> levels = new Dictionary<int, level>()
{
    {0, new level{"Green Field Forever", 1}},
    {1, new level{"Golden Vally", 2}}
};

```

which gives me a bunch of error including :

the level type argument doesn't take 0 arguments