rework git kernel infrastructure