switched to implicity unwrapped optionals