[UPDATE] Refactor, support specifying max children, remove some options.