updated shift operators -- written but untested division
merge