fix increment
explicit cast
internally use 64bits counter