added bit ops