use correctly sized 64bit integer and avoid unintended (implicit up/down casts)