first version supporting get, set, and cyc again