added all data handling