Added some comments, pragma mark