update accordingly