improve dataprocessor