updated to Data Structure(not finished yet)