fix gem business and put git functions into own files