Adds Documentation and simplifies code. Also, can't redifine existing class methds