update roles improved