implemented GCounter