Adds documentation
Minor modifications to abstract class.