little bit modified to understand how git works