change: structure and improve when time is taken
add: hierarchical_mutex (Concurrency in Action)