added multi role feature