many changes
add custom git completion