Added error stack on fail, fixed promise-based builder, added recursive sample.