Refactor
Also assign role before check status