don't overload set!