all data should be int