update dispose and add doc