datatype change to avoid cast