setter need userValue
rebuild