move background_processing lib to core