always return int64