add github provider factory