Added more comments, and moved derived class display functions to private