always cast to int