added class and docs