data structure improve