Added some comments and converted blocks to use weakSelf