incompletely documented S4 class and method definitions from sorvi moved in here