Added "pragma mark", did some organizing, and added comments.