avoid integer casts