more work on camera API, but still won't work on simulator