adding subclassable methods for value, adding dispose