added another pragma for ignore performSelector warning