more gestalt stuff - working on caching values with dispatch_once