added shift operators