finished documenting class hierarchy