authentication for different roles
merge