added branch detection support
changed variable names to match conventions
changed branch detector to use Runner