trying better data structure