data structure revamp