duration: use ruby2 symbol array syntax.
duration: work recursively.