minor refactoring
support for multiple vcs, check for null 'location' (Issue #5, Issue #6)