fix set/get return value bug