push processing to separate thread