oops, forgot to switch set() to use common function