added updateSign()