Use shift instead of compare and simplify the extractors
Merge branch 'msvc_o2'
Merge with latest Score code