add top-level class
add docs
add docs