reworking github logic to be more scalable