added code that tutorials tell me should be there
added comments
Added proxy code
utilize proxies
fixed null pointer exception