appropriate data types selection