Support recursive
Update docblock