use signed native number type