got correct shift values from instachecker's source