use cached thread pool instead of fixed thread pool
single socket uri output
refactored dependency executor, more logging