Modularizing things a bit more and adding gitag function to add arbitrary functions