cleaner code, testing with new data