no need for recursive helpers, underscore can do those things