- initial implementation
- use futures to make the 'git pull/clone' operations synchronous
- less logging