Added role and permission model