data structure changes for better compatibility