fixed doc block
moved a lot of common code into VCS namespace