documentation of abstract functions added