minor improvements and updated documentation
use subclass function
improve subclass method
add 'class' function