update due to differences in optionals and explicitly unwrapped in apple frameworks