added git node definition and supporting classes