first version, some examples