multi-threaded style of execution
