use math::Int instead