add custom auth system with role