refactored to get rid of read_data method and put it into intialize