cleanup
Use ClassTag, TypeTag to replace Manifest.
cleanup
cleanup
cleanup