finish roles functions